﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BL;
using DA;
namespace QL_KhachHang
{
    public partial class FrmNhanVien : Form
    {
        public FrmNhanVien()
        {
            InitializeComponent();
        }
        NhanVien_BL nvbl = new NhanVien_BL();
        ChucVu_BL cv = new ChucVu_BL();
        private void FrmNhanVien_Load(object sender, EventArgs e)
        {
            Hienthi();
        }

        private void Hienthi()
        {
            cbChucVu.DataSource = cv.LayDSCV();
            cbChucVu.DisplayMember = "TenCV";
            cbChucVu.ValueMember = "MaCV";
            listView1.Items.Clear();
            foreach (var item in nvbl.LayDSNhanVien())
            {
                ListViewItem it = new ListViewItem(item.MaNV);
                it.SubItems.Add(item.TenNV);
                it.SubItems.Add(item.GioiTinh);
                it.SubItems.Add(item.NgaySinh.ToString());
                it.SubItems.Add(item.DiaChi);
                it.SubItems.Add(item.NgayVaoLam.ToString());
                it.SubItems.Add(item.MaCV);
                it.SubItems.Add(item.CMND);
                listView1.Items.Add(it);
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            NhanVien nv = nhanvien_ET();
            if (!string.IsNullOrEmpty(txtMaNV.Text))
            {
                if (nvbl.ThemNhanVien(nv) == true)
                {
                    MessageBox.Show("Thêm nhân viên thành công!");
                    Hienthi();
                }
                else
                {
                    MessageBox.Show("Lỗi!!!Không thêm được.Vui lòng kiểm tra dữ liệu");
                }
            }
            else
            {
                MessageBox.Show("Mã nhân viên không được để trống");
            }
        }

        private NhanVien nhanvien_ET()
        {
            NhanVien nv = new NhanVien();
            nv.MaNV = txtMaNV.Text;
            nv.Password = txtMatKhau.Text;
            nv.TenNV = txtTenNV.Text;
            string gt = "";
            if (rbNam.Checked == true)
            {
                gt = rbNam.Text;
            }
            else
            {
                gt = rbNu.Text;
            }
            nv.GioiTinh = gt;
            nv.NgaySinh = DateTime.Parse(dtpNgaySinh.Text);
            nv.DiaChi = txtDiaChi.Text;
            nv.NgayVaoLam = DateTime.Parse(dtpNgayVaoLam.Text);
            nv.MaCV = cbChucVu.SelectedValue.ToString();
            nv.CMND = txtCMND.Text;
            nv.Avatar = txtHinhAnh.Text;
            return nv;
        }

        private void btnTim_Click(object sender, EventArgs e)
        {
            listView1.Items.Clear();
            foreach (var item in nvbl.TimNVTheoMa(txtTim.Text))
            {
                ListViewItem it = new ListViewItem(item.MaNV);
                it.SubItems.Add(item.TenNV);
                it.SubItems.Add(item.GioiTinh);
                it.SubItems.Add(item.NgaySinh.ToString());
                it.SubItems.Add(item.DiaChi);
                it.SubItems.Add(item.NgayVaoLam.ToString());
                it.SubItems.Add(item.MaCV);
                it.SubItems.Add(item.CMND);
                listView1.Items.Add(it);
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            string manv = txtMaNV.Text;
            DialogResult h = MessageBox.Show("Bạn muốn xóa không?", "Thông báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
            if (DialogResult.OK == h)
            {
                if (nvbl.XoaNhanVien(manv) == true)
                {
                    MessageBox.Show("Xóa thành công nhân viên " + manv);
                    Hienthi();
                }
                else
                    MessageBox.Show("Lỗi ko xóa được.Vui lòng kiểm tra lại");
            }
        }

        private void button3_Click(object sender, EventArgs e)
        {
            NhanVien nv = nhanvien_ET();
            if (nvbl.SuaNhanVien(nv) == true)
            {
                MessageBox.Show("Sửa nhân viên thành công!");
                Hienthi();
            }
            else
            {
                MessageBox.Show("Lỗi!!!Không sửa được.Vui lòng kiểm tra dữ liệu");
            }
        }

        private void button4_Click(object sender, EventArgs e)
        {
            this.Close();
        }
        bool ktso;
        private void txtCMND_KeyDown(object sender, KeyEventArgs e)
        {

            ktso = true;
            if (e.KeyCode < Keys.D0 || e.KeyCode > Keys.D9)

                if (e.KeyCode < Keys.NumPad0 || e.KeyCode > Keys.NumPad9)

                    if (e.KeyCode != Keys.Back)

                        ktso = false;
        }

        private void txtCMND_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!ktso)
            {
                e.Handled = true;
                MessageBox.Show("Số CMND phải là số");
            }
        }

        private void listView1_MouseClick(object sender, MouseEventArgs e)
        {
            try
            {
                txtMaNV.Text = listView1.FocusedItem.SubItems[0].Text;
                txtMatKhau.Text = nvbl.LayPassTheoManv(txtMaNV.Text);
                txtTenNV.Text = listView1.FocusedItem.SubItems[1].Text;
                string gt = listView1.FocusedItem.SubItems[2].Text;
                if (gt == "Nam")
                    rbNam.Checked = true;
                else
                    rbNu.Checked = true;
                dtpNgaySinh.Text = listView1.FocusedItem.SubItems[3].Text;
                txtDiaChi.Text = listView1.FocusedItem.SubItems[4].Text;
                dtpNgayVaoLam.Text = listView1.FocusedItem.SubItems[5].Text;
                cbChucVu.Text = cv.LayTenCVTheoMaCV(listView1.FocusedItem.SubItems[6].Text);
                txtCMND.Text = listView1.FocusedItem.SubItems[7].Text;
                txtHinhAnh.Text = listView1.FocusedItem.SubItems[8].Text;
            }
            catch
            { }
           
        }

    
       
    }
}
